// 提供操作本地用户信息的相关函数

// sessionStorage进行存储，
// setItem('键名','具体数据，必须字符串格式')
// getItem('键名')
// removeItem('键名')
const KEY = 'hm-toutiao-pc-104-user'

/**
 * 保存用户信息
 * @param {Object} user - 是用户信息对象
 */
const setUser = user => {
  window.sessionStorage.setItem(KEY, JSON.stringify(user))
}

/**
 * 获取用户信息
 */
const getUser = () => {
  const localUser = window.sessionStorage.getItem(KEY)
  // localUser 结果：用户信息json字符串  或者  null
  // 注意：不能将 null 返回出去，容易报错（user.token）, 返回一个空对象 {}
  return JSON.parse(localUser || '{}')
}

/**
 * 删除用户信息
 */
const delUser = () => {
  // 注意：clear()不能使用，其他信息也会清除
  window.sessionStorage.removeItem(KEY)
}

// 导出函数即可
export default { setUser, getUser, delUser }
